diff --git a/system/database/drivers/mssql/mssql_driver.php b/system/database/drivers/mssql/mssql_driver.php
index 1ed333d..6e67c57 100644
--- a/system/database/drivers/mssql/mssql_driver.php
+++ b/system/database/drivers/mssql/mssql_driver.php
@@ -132,7 +132,7 @@
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -162,7 +162,7 @@
 	 */	
 	function trans_commit()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -187,7 +187,7 @@
 	 */	
 	function trans_rollback()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php
index f435c0b..f15983d 100644
--- a/system/database/drivers/mysql/mysql_driver.php
+++ b/system/database/drivers/mysql/mysql_driver.php
@@ -161,7 +161,7 @@
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -192,7 +192,7 @@
 	 */	
 	function trans_commit()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -218,7 +218,7 @@
 	 */	
 	function trans_rollback()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php
index 6ff37f7..a196f75 100644
--- a/system/database/drivers/mysqli/mysqli_driver.php
+++ b/system/database/drivers/mysqli/mysqli_driver.php
@@ -164,7 +164,7 @@
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -195,7 +195,7 @@
 	 */	
 	function trans_commit()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -221,7 +221,7 @@
 	 */	
 	function trans_rollback()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php
index 364268b..8fc2044 100644
--- a/system/database/drivers/oci8/oci8_driver.php
+++ b/system/database/drivers/oci8/oci8_driver.php
@@ -155,7 +155,7 @@
 	 */
 	function _set_stmt_id($sql)
 	{
-		if ( ! is_resource($this->stmt_id))
+		if (! is_resource($this->stmt_id))
 		{
 			$this->stmt_id = ociparse($this->conn_id, $this->_prep_query($sql));
 		}
@@ -254,7 +254,7 @@
 	 */
 	function _bind_params($params)
 	{
-		if ( ! is_array($params) OR ! is_resource($this->stmt_id))
+		if (! is_array($params) OR ! is_resource($this->stmt_id))
 		{
 			return;
 		}
@@ -263,7 +263,7 @@
 		{
  			foreach (array('name', 'value', 'type', 'length') as $val)
 			{
-				if ( ! isset($param[$val]))
+				if (! isset($param[$val]))
 				{
 					$param[$val] = '';
 				}
@@ -283,7 +283,7 @@
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -313,7 +313,7 @@
 	 */	
 	function trans_commit()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -339,7 +339,7 @@
 	 */	
 	function trans_rollback()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
diff --git a/system/database/drivers/odbc/odbc_driver.php b/system/database/drivers/odbc/odbc_driver.php
index 82fe36b..20e34ec 100644
--- a/system/database/drivers/odbc/odbc_driver.php
+++ b/system/database/drivers/odbc/odbc_driver.php
@@ -152,7 +152,7 @@
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -181,7 +181,7 @@
 	 */	
 	function trans_commit()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -207,7 +207,7 @@
 	 */	
 	function trans_rollback()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
diff --git a/system/database/drivers/postgre/postgre_driver.php b/system/database/drivers/postgre/postgre_driver.php
index 4eff97f..46ba1d0 100644
--- a/system/database/drivers/postgre/postgre_driver.php
+++ b/system/database/drivers/postgre/postgre_driver.php
@@ -150,7 +150,7 @@
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -179,7 +179,7 @@
 	 */	
 	function trans_commit()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -203,7 +203,7 @@
 	 */	
 	function trans_rollback()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
diff --git a/system/database/drivers/sqlite/sqlite_driver.php b/system/database/drivers/sqlite/sqlite_driver.php
index 2ad5d61..70148f3 100644
--- a/system/database/drivers/sqlite/sqlite_driver.php
+++ b/system/database/drivers/sqlite/sqlite_driver.php
@@ -48,7 +48,7 @@
 	 */	
 	function db_connect()
 	{
-		if ( ! $conn_id = @sqlite_open($this->database, FILE_WRITE_MODE, $error))
+		if (! $conn_id = @sqlite_open($this->database, FILE_WRITE_MODE, $error))
 		{
 			log_message('error', $error);
 			
@@ -73,7 +73,7 @@
 	 */	
 	function db_pconnect()
 	{
-		if ( ! $conn_id = @sqlite_popen($this->database, FILE_WRITE_MODE, $error))
+		if (! $conn_id = @sqlite_popen($this->database, FILE_WRITE_MODE, $error))
 		{
 			log_message('error', $error);
 			
@@ -171,7 +171,7 @@
 	 */	
 	function trans_begin($test_mode = FALSE)
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -201,7 +201,7 @@
 	 */	
 	function trans_commit()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
@@ -226,7 +226,7 @@
 	 */	
 	function trans_rollback()
 	{
-		if ( ! $this->trans_enabled)
+		if (! $this->trans_enabled)
 		{
 			return TRUE;
 		}
diff --git a/system/database/drivers/sqlite/sqlite_forge.php b/system/database/drivers/sqlite/sqlite_forge.php
index 1fd2a2b..44950bf 100644
--- a/system/database/drivers/sqlite/sqlite_forge.php
+++ b/system/database/drivers/sqlite/sqlite_forge.php
@@ -49,7 +49,7 @@
 	 */
 	function _drop_database($name)
 	{
-		if ( ! @file_exists($this->db->database) OR ! @unlink($this->db->database))
+		if (! @file_exists($this->db->database) OR ! @unlink($this->db->database))
 		{
 			if ($this->db->db_debug)
 			{
diff --git a/system/database/drivers/sqlite/sqlite_utility.php b/system/database/drivers/sqlite/sqlite_utility.php
index d1e1fe0..ab58f8f 100644
--- a/system/database/drivers/sqlite/sqlite_utility.php
+++ b/system/database/drivers/sqlite/sqlite_utility.php
@@ -124,7 +124,7 @@
 	 */
 	function _drop_database($name)
 	{
-		if ( ! @file_exists($this->db->database) OR ! @unlink($this->db->database))
+		if (! @file_exists($this->db->database) OR ! @unlink($this->db->database))
 		{
 			if ($this->db->db_debug)
 			{
